Poppler (software)

Poppler
Developer(s) freedesktop.org
Initial release March 4, 2005 (2005-03-04)[nb 1]
Stable release 0.18.2 / December 4, 2011; 2 months ago (2011-12-04)[1]
Preview release none
Written in C++
Operating system Linux, Unix, BSD, Windows
Type Library
License GPLv2
Website poppler.freedesktop.org

In computing, Poppler (or libpoppler) is a free software library used to render PDF documents. It is the most common such library on GNU/Linux systems,[2] and is used by the PDF viewers of the open source GNOME and KDE desktop environments. Its development is supported by freedesktop.org.

The project was started by Kristian H酶gsberg with two goals in mind:[3]

  1. To provide PDF rendering functionality as a shared library, in order to centralize maintenance effort
  2. To go beyond the goals of Xpdf, and integrate with functionality provided by modern operating systems

As of the version 0.18 release in Fall 2011, the poppler library represents a complete implementation of ISO 32000-1, the PDF format standard, and is the first major free PDF library to support its forms and annotations features.[2]

Poppler itself is a fork of the Xpdf-3.0 PDF viewer developed by Derek Noonburg of Glyph and Cog, LLC.[3][4]

The name "Poppler" comes from the animated series Futurama episode The Problem with Popplers.[4]

Contents

[hide]

PDF readers using Poppler

A number of free software applications use Poppler to render PDF documents[5]

Application External Links Graphical Toolkit
Evince homepage GTK+
Okular homepage Qt
kde pdf kfile plugin homepage Qt
PopplerKit homepage GNUstep/Cocoa
Vindaloo homepage PopplerKit
ePDFView homepage GTK+
TeXworks homepage Qt
LocoPDF homepage none
pdftotext poppler utils none
DiffPDF homepage Qt
Zathura (software) homepage GTK+
Xournal homepage GTK+

Features

Poppler can use two back-ends for drawing PDF documents, Cairo and Splash. Its features may depend on which back-end it employs. A third back-end based on Qt4's painting framework "Arthur", is available, but is incomplete and no longer under active development.[6] Bindings exist for Glib, Qt3, and Qt4, that provide interfaces to the Poppler backends, although the Qt3 and Qt4 bindings support only the Splash backend. There is a patchset available to add support for the Cairo backend to the Qt4 bindings,[7] but the Poppler project does not currently wish to integrate the feature into the library proper.[8]

Some characteristics of the backends are as follows

Poppler comes with a text rendering backend as well, which can be invoked from the command line utility pdftotext. It is useful for searching for strings in PDFs from the command line, using the utility grep, for instance.[9]

Example:

pdftotext file.pdf - | grep string

Poppler supports interactive documents using Javascript.[10], annotations, and forms.

See also

Notes

  1. ^ This file-modification date appears on the version 0.1.1 tarball, the "first real release", according to Poppler's release history.[1]

References

General references

External links